﻿namespace TikTokApp.Services
{
    public static class ControlHelper
    {
        const int textBoxHeight = 25;
        const int btnBoxHeight = 30;

        /// <summary>
        /// 统一设置容器中所有 TextBox 和 Button 控件的高度
        /// </summary>
        /// <param name="parent">父控件（如 Form、Panel 等）</param>
        /// <param name="height">目标高度</param>
        public static void SetControlHeight(Control parent)
        {
            foreach (Control control in parent.Controls)
            {
                // 设置 TextBox 和 Button 的高度
                if (control is TextBox)
                {
                    control.Height = textBoxHeight;
                    control.MinimumSize = new Size(0, textBoxHeight);
                    control.MaximumSize = new Size(int.MaxValue, textBoxHeight);

                    control.BackColor = Color.White;               // 背景色为纯白
                    control.ForeColor = Color.Black;               // 文本颜色为黑色
                    control.Font = new Font("Segoe UI", 12F);      // 使用现代常用字体，12号大小
                    control.Padding = new Padding(5, 8, 5, 8);     // 内边距使文本光标上下居中
                    control.AutoSize = false;                      // 禁止自动调整高度
                    control.Margin = new Padding(6);              // 控件之间的外边距
                }
                else if (control is Button)
                {
                    control.Height = btnBoxHeight;
                    control.MinimumSize = new Size(0, btnBoxHeight);
                    control.MaximumSize = new Size(int.MaxValue, btnBoxHeight);
                }

                // 递归处理嵌套控件
                if (control.HasChildren)
                {
                    SetControlHeight(control);
                }
            }
        }
    }
}
